Electronic equipment often includes circuitry that monitors the operation of the electronic equipment. This circuitry typically generates alarms when the equipment is not operating within normal parameters. For example, telecommunications equipment often includes circuitry that determines whether lines associated with a line card are operating properly. Such alarm mechanisms typically include software and hardware components that operate together to report alarm conditions.
In one conventional approach, the hardware component of the alarm mechanism indicates when an alarm changes from a first state, e.g., a non-alarm state, to an alarm state by an interrupt to the software component. Unfortunately, in this mechanism, the hardware typically does not provide an indication when an alarm changes from an alarm state back to a non-alarm state. Thus, the software typically polls the hardware on some recurring basis or uses some other mechanism to determine state changes back to the first or non-alarm state. This imposes an extra burden in developing the software code for the electronic equipment.
In other approaches, the software component of the alarm mechanism maintains an image of the current state of each alarm. When the hardware component indicates that an alarm has changed states, e.g., via an interrupt, the software component reads the current state conditions from the hardware and compares the current states with the image maintained in the software component to determine which alarm changed states. Unfortunately, this approach also requires a significant burden on the software to obtain the needed information since the software component has to maintain and process the current state information each time an interrupt is received.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for an improved alarm mechanism for electronic equipment that readily provides alarm information.